Urban Built-up Index · NIR-SWIR Variant

NDBI_NIR – Normalized Difference Built-up Index (NIR − SWIR)

NDBI_NIR is an alternative built-up index computed as (NIR − SWIR) / (NIR + SWIR), used for highlighting non-vegetated surfaces and built-up features in arid environments.

1. Scientific Definition

The NDBI_NIR variant reverses the classical NDBI formula. Instead of (SWIR − NIR), it uses (NIR − SWIR) which enhances certain urban signatures and suppresses bright impervious soil in desert regions.

Formula

NDBI_NIR = (NIR − SWIR) / (NIR + SWIR)

  • NIR – Near Infrared reflectance
  • SWIR – Shortwave Infrared band

Interpretation

  • < 0: dry soil / built-up / bare land
  • > 0: vegetation / moist surfaces

Applications

  • Urban detection in arid regions
  • Alternative to NDBI for mixed soil-urban environments
  • Settlement mapping where SWIR is strongly influenced by soil brightness

2. Required Bands

Sentinel-2

  • NIR → B8
  • SWIR → B11

Landsat 8/9

  • NIR → B5
  • SWIR1 → B6

Suggested Palette

[ "#0b1220", "#243b5a", "#3c6ea6", "#6baed6", "#d3ecff" ]

3. Google Earth Engine Code – NDBI_NIR


// NDBI_NIR = (NIR - SWIR) / (NIR + SWIR)

var roi = geometry;
Map.centerObject(roi, 11);

// Load Sentinel-2 SR
var s2 = ee.ImageCollection("COPERNICUS/S2_SR")
  .filterBounds(roi)
  .filterDate("2023-01-01", "2023-12-31")
  .filter(ee.Filter.lt("CLOUDY_PIXEL_PERCENTAGE", 20))
  .select(["B8","B11"]);  // NIR, SWIR

var img = s2.median().clip(roi);

// Compute NDBI_NIR
var ndbi_nir = img.expression(
  "(N - S) / (N + S)",
  {
    "N": img.select("B8"),  // NIR
    "S": img.select("B11")  // SWIR
  }
).rename("NDBI_NIR");

var vis = {
  min: -1,
  max: 1,
  palette: ["#0b1220","#243b5a","#3c6ea6","#6baed6","#d3ecff"]
};

Map.addLayer(ndbi_nir, vis, "NDBI_NIR");

// Export
Export.image.toDrive({
  image: ndbi_nir,
  description: "NDBI_NIR_export",
  fileNamePrefix: "NDBI_NIR",
  region: roi,
  scale: 20,
  crs: "EPSG:4326",
  maxPixels: 1e13
});